Pangembang API

Integrasikan lokalisasi Addavox menyang alur kerja sampeyan. Pilih Dubbing Video API kanggo lokalisasi video lengkap nganggo wektu, QA, subtitle, lan akses lengkap menyang Editor Ulasan liwat pranala ajaib. Sampeyan uga bisa milih API layanan individu kanggo tugas liyane, kaya nyritakake buku utawa nerjemahake lan nyritakake buku sekaligus.

Tombol API

Kunci API kalebu akun Addavox . Gawe siji nganggo tombol Mulai lokalisasi ing ndhuwur, banjur gawe kunci ing aplikasi — saben panggilan bakal ditagih menyang akun kasebut.

Layanan API individu dibayar saka saldo kredit sampeyan, sing sampeyan isi ulang lan kelola ing akun Addavox sampeyan. Lokalisasi video lengkap minangka pangecualian: layanan iki nggunakake rega sing padha karo rencana sing sampeyan pilih ing Rencana & Rega — menit kalebu ing rencana sampeyan, banjur kelebihan biaya miturut tarif rencana.

Planning an integration? Book an integration call (opens in a new tab)

URL Dasar: https://api.addavox.com/api/v1

Judhul otorisasi: X- API -Kunci: YOUR_KEY

Referensi API

Skema interaktif lengkap lan titik pungkasan tambahan kasedhiya liwat OpenAPI.

Full Video Localization

POST /api/v1/localize-video API key

Video Dubbing

Full video dubbing: send a video URL + target languages, get localized videos back.

Request body

FieldTypeRequiredDescription
video_urlstringYesHTTPS URL of the source video to dub.
target_languagesstring[]YesOne or more target language codes.
source_languagestringYesLanguage of the source video's spoken audio, e.g. 'en'.
project_namestring | nullNoOptional project name. Defaults to 'API Video: {filename}'.
enable_llm_qabooleanNoOpt-in LLM quality-review pass over translations before voice synthesis. Adds processing time.
modeLocalizationModeNoDrives consent. Default 'voice_matched' (clones the speaker); 'standard' uses synthetic TTS.
consentConsentAttestationYesConsent attestation; see Consent & Authorization.

Response

FieldTypeDescription
job_idstringMaster job ID — poll for per-language status.
project_idstringThe project created for this job.
statusstringAlways 'queued' on submit.
target_languagesstring[]Echoed target language codes.
ConsentAttestation
speaker_consent_obtainedboolean | nullAttests that explicit consent has been obtained from all identifiable speakers. Required for voice_matched mode only.
content_rights_confirmedbooleanAttests ownership or a valid license to the content. Required in both modes.
eula_acceptedbooleanConfirms the client has read and accepts the Addavox EULA. Required in both modes.
attested_bystringEmail or identifier of the responsible individual or system.
attested_atstringISO 8601 timestamp of attestation. Must be within 24 hours of the request.

API Services

POST /api/v1/separate API key

Voice Separation

Split caller-supplied audio into vocals + background stems (async job).

Request body

FieldTypeRequiredDescription
audio_urlstringYesHTTPS URL of the source audio to separate.
project_namestring | nullNoOptional project name.

Response

FieldTypeDescription
job_idstringPoll this job ID for status.
project_idstringThe project created for this job.
statusstringAlways 'queued' on submit.
chargeChargeInfoBilling detail for this submission.
ChargeInfo
amountnumberTotal amount charged for this submission, in USD.
rate_per_minnumberPer-minute rate applied.
duration_minnumberBilled minutes (for text services, characters/1000).
num_languagesintegerNumber of target languages billed.
credit_balance_afternumberAccount credit balance after the charge, in USD.
POST /api/v1/transcribe API key

Transcribe

Transcribe caller-supplied audio and return a transcript (async job).

Request body

FieldTypeRequiredDescription
audio_urlstringYesHTTPS URL of the source audio to transcribe.
languagestringYesSpoken language of the audio (BCP-47), e.g. 'en-US'.
project_namestring | nullNoOptional project name.

Response

FieldTypeDescription
job_idstringPoll this job ID for status.
project_idstringThe project created for this job.
statusstringAlways 'queued' on submit.
chargeChargeInfoBilling detail for this submission.
ChargeInfo
amountnumberTotal amount charged for this submission, in USD.
rate_per_minnumberPer-minute rate applied.
duration_minnumberBilled minutes (for text services, characters/1000).
num_languagesintegerNumber of target languages billed.
credit_balance_afternumberAccount credit balance after the charge, in USD.
POST /api/v1/pro-transcribe API key

Pro Transcription

Separate, then transcribe the isolated vocals stem — a cleaner transcript (async job).

Request body

FieldTypeRequiredDescription
audio_urlstringYesHTTPS URL of the source audio to transcribe.
languagestringYesSpoken language of the audio (BCP-47), e.g. 'en-US'.
project_namestring | nullNoOptional project name.

Response

FieldTypeDescription
job_idstringPoll this job ID for status.
project_idstringThe project created for this job.
statusstringAlways 'queued' on submit.
chargeChargeInfoBilling detail for this submission.
ChargeInfo
amountnumberTotal amount charged for this submission, in USD.
rate_per_minnumberPer-minute rate applied.
duration_minnumberBilled minutes (for text services, characters/1000).
num_languagesintegerNumber of target languages billed.
credit_balance_afternumberAccount credit balance after the charge, in USD.
POST /api/v1/translate API key

Translate

Machine-translate text from one language to another. Returns the translated text synchronously — no audio, no job to poll.

Request body

FieldTypeRequiredDescription
textstringYesText to translate.
target_languagestringYesTarget language code, e.g. 'es' or 'es-ES'.
source_languagestringYesSource language code, e.g. 'en' or 'en-US'.

Response

FieldTypeDescription
translated_textstringThe translated text.
source_languagestringSource language supplied on the request.
target_languagestringTarget language the text was translated into.
chargeChargeInfoBilling detail for this translation.
ChargeInfo
amountnumberTotal amount charged for this submission, in USD.
rate_per_minnumberPer-minute rate applied.
duration_minnumberBilled minutes (for text services, characters/1000).
num_languagesintegerNumber of target languages billed.
credit_balance_afternumberAccount credit balance after the charge, in USD.

Example

curl -X POST https://api.addavox.com/api/v1/translate \
      -H "X-API-Key: $ADDAVOX_KEY" -H "Content-Type: application/json" \
      -d '{"text": "Hello", "target_language": "es"}'
POST /api/v1/narrate API key

Narrate

Narrate already-translated text into an audiobook, in a preset voice you choose. Preset (synth) voices only — no voice matching.

Request body

FieldTypeRequiredDescription
audio_urlstringYesHTTPS URL of the source audio; also used to identify/match speaker voices.
source_languagestringYesSource language code, e.g. 'en-US'.
target_languagestringYesTarget language code, e.g. 'es-ES'.
segmentsExternalSegment[]YesThe pre-segmented transcript to voice.
project_namestring | nullNoOptional project name. Defaults to 'API: {source}->{target}'.
consentConsentAttestationYesConsent attestation; see Consent & Authorization.

Response

FieldTypeDescription
job_idstringPoll this job ID for status.
project_idstringThe project created for this job.
statusstringAlways 'queued' on submit.
voice_typestringVoice type resolved from the request mode.
total_segmentsintegerEchoed count of submitted segments.
chargeChargeInfoBilling detail for this submission.
ExternalSegment
source_textstringOriginal text for this segment.
start_timenumberSegment start, in seconds. Used for speaker-voice matching only, not output timing.
end_timenumberSegment end, in seconds. Used for speaker-voice matching only, not output timing.
wordsobject[]Word-level timing; defaults to empty.
speakerobject | nullSpeaker metadata for voice selection.
translated_textstring | nullPre-supplied translation. If provided, translation is skipped for this segment.
ConsentAttestation
speaker_consent_obtainedboolean | nullAttests that explicit consent has been obtained from all identifiable speakers. Required for voice_matched mode only.
content_rights_confirmedbooleanAttests ownership or a valid license to the content. Required in both modes.
eula_acceptedbooleanConfirms the client has read and accepts the Addavox EULA. Required in both modes.
attested_bystringEmail or identifier of the responsible individual or system.
attested_atstringISO 8601 timestamp of attestation. Must be within 24 hours of the request.
ChargeInfo
amountnumberTotal amount charged for this submission, in USD.
rate_per_minnumberPer-minute rate applied.
duration_minnumberBilled minutes (for text services, characters/1000).
num_languagesintegerNumber of target languages billed.
credit_balance_afternumberAccount credit balance after the charge, in USD.
POST /api/v1/translate-narrate API key

Translate + Narrate — preset voice

Translate your text to the target language and narrate it in a preset voice. Source and target language must differ.

Request body

FieldTypeRequiredDescription
audio_urlstringYesHTTPS URL of the source audio; also used to identify/match speaker voices.
source_languagestringYesSource language code, e.g. 'en-US'.
target_languagestringYesTarget language code, e.g. 'es-ES'.
segmentsExternalSegment[]YesThe pre-segmented transcript to voice.
project_namestring | nullNoOptional project name. Defaults to 'API: {source}->{target}'.
consentConsentAttestationYesConsent attestation; see Consent & Authorization.

Response

FieldTypeDescription
job_idstringPoll this job ID for status.
project_idstringThe project created for this job.
statusstringAlways 'queued' on submit.
voice_typestringVoice type resolved from the request mode.
total_segmentsintegerEchoed count of submitted segments.
chargeChargeInfoBilling detail for this submission.
ExternalSegment
source_textstringOriginal text for this segment.
start_timenumberSegment start, in seconds. Used for speaker-voice matching only, not output timing.
end_timenumberSegment end, in seconds. Used for speaker-voice matching only, not output timing.
wordsobject[]Word-level timing; defaults to empty.
speakerobject | nullSpeaker metadata for voice selection.
translated_textstring | nullPre-supplied translation. If provided, translation is skipped for this segment.
ConsentAttestation
speaker_consent_obtainedboolean | nullAttests that explicit consent has been obtained from all identifiable speakers. Required for voice_matched mode only.
content_rights_confirmedbooleanAttests ownership or a valid license to the content. Required in both modes.
eula_acceptedbooleanConfirms the client has read and accepts the Addavox EULA. Required in both modes.
attested_bystringEmail or identifier of the responsible individual or system.
attested_atstringISO 8601 timestamp of attestation. Must be within 24 hours of the request.
ChargeInfo
amountnumberTotal amount charged for this submission, in USD.
rate_per_minnumberPer-minute rate applied.
duration_minnumberBilled minutes (for text services, characters/1000).
num_languagesintegerNumber of target languages billed.
credit_balance_afternumberAccount credit balance after the charge, in USD.
POST /api/v1/translate-narrate-matched API key

Translate + Narrate — matched voice

Translate your text to the target language and narrate it in a voice matched from a ≥1-minute audio sample you provide. Source and target language must differ.

Request body

FieldTypeRequiredDescription
audio_urlstringYesHTTPS URL of the source audio; also used to identify/match speaker voices.
source_languagestringYesSource language code, e.g. 'en-US'.
target_languagestringYesTarget language code, e.g. 'es-ES'.
segmentsExternalSegment[]YesThe pre-segmented transcript to voice.
project_namestring | nullNoOptional project name. Defaults to 'API: {source}->{target}'.
consentConsentAttestationYesConsent attestation; see Consent & Authorization.

Response

FieldTypeDescription
job_idstringPoll this job ID for status.
project_idstringThe project created for this job.
statusstringAlways 'queued' on submit.
voice_typestringVoice type resolved from the request mode.
total_segmentsintegerEchoed count of submitted segments.
chargeChargeInfoBilling detail for this submission.
ExternalSegment
source_textstringOriginal text for this segment.
start_timenumberSegment start, in seconds. Used for speaker-voice matching only, not output timing.
end_timenumberSegment end, in seconds. Used for speaker-voice matching only, not output timing.
wordsobject[]Word-level timing; defaults to empty.
speakerobject | nullSpeaker metadata for voice selection.
translated_textstring | nullPre-supplied translation. If provided, translation is skipped for this segment.
ConsentAttestation
speaker_consent_obtainedboolean | nullAttests that explicit consent has been obtained from all identifiable speakers. Required for voice_matched mode only.
content_rights_confirmedbooleanAttests ownership or a valid license to the content. Required in both modes.
eula_acceptedbooleanConfirms the client has read and accepts the Addavox EULA. Required in both modes.
attested_bystringEmail or identifier of the responsible individual or system.
attested_atstringISO 8601 timestamp of attestation. Must be within 24 hours of the request.
ChargeInfo
amountnumberTotal amount charged for this submission, in USD.
rate_per_minnumberPer-minute rate applied.
duration_minnumberBilled minutes (for text services, characters/1000).
num_languagesintegerNumber of target languages billed.
credit_balance_afternumberAccount credit balance after the charge, in USD.

Jobs & Results

GET /api/v1/jobs/{job_id} API key

Job Status

Check the status of an external localization job.

Response

FieldTypeDescription
job_idstringEchoes the job ID from the URL.
typestringJob type: voice | translate_voice | transcribe_translate_voice | video_dub.
statusstringqueued | running | completed | failed. For a video_dub job this is a true aggregate of its per-language children, not a per-child value.
total_segmentsintegerTotal segment count. Always 0 on a video_dub master job.
completed_segmentsintegerCompleted segment count. Always 0 on a video_dub master job.
errorstring | nullFailure message when status is 'failed'.
GET /api/v1/jobs/{job_id}/result API key

Job Result

Get the download URL for a completed external localization job.

Response

FieldTypeDescription
transcript_urlstring | null(Transcription job) Signed URL of the transcript JSON.
vocals_urlstring | null(Separation job) Signed URL of the vocals stem.
background_urlstring | null(Separation job) Signed URL of the background stem.
download_urlstring | nullSigned URL (24h). Single voice track for an audio job, or a zip of all languages for a video dub.
durationnumber | null(Audio job) Duration in seconds.
file_sizeinteger | null(Audio job) File size in bytes.
project_idstring | null(Video dub) The project ID.
review_urlstring | null(Video dub) Web review URL for the project.
languagesVideoJobResultLanguage[] | null(Video dub) Per-language result URLs.
VideoJobResultLanguage
languagestringTarget language code for this result.
video_urlstring | nullSigned URL of the dubbed video (24h expiry).
audio_urlstring | nullSigned URL of the dubbed audio track (24h expiry).
subtitle_urlstring | nullSigned URL of the subtitle file (24h expiry).
DELETE /api/v1/jobs/{job_id} API key

Cancel Job

Cancel a queued or running job and refund the charge to the account balance.

Response

FieldTypeDescription
job_idstringEchoes the cancelled job ID.
statusstringAlways 'cancelled'.
refunded_amountnumberAmount refunded for the undelivered work, in USD.
GET /api/v1/jobs API key

List Jobs

List localization jobs for the authenticated account. Query params: status — filter by queued | running | completed | failed | cancelled limit — max results (default 20, max 100) offset — pagination offset (default 0)

Response

FieldTypeDescription
jobsJobListItem[]The page of jobs, newest first.
totalintegerTotal jobs matching the query, across all pages.
limitintegerPage size used.
offsetintegerPage offset used.
JobListItem
job_idstringJob ID.
project_idstringProject the job belongs to.
typestringJob type.
target_languagestring | nullTarget language code, if applicable.
statusstringqueued | running | completed | failed | cancelled.
total_segmentsintegerTotal segment count.
completed_segmentsintegerCompleted segment count.
errorstring | nullFailure message when the job failed.
created_atstring | nullISO 8601 creation time.
started_atstring | nullISO 8601 start time, if started.
completed_atstring | nullISO 8601 completion time, if finished.
chargeJobListCharge | nullCharge summary, present if the job was billed.
GET /api/v1/jobs/{job_id}/webhooks API key

Webhook Log

Return the webhook delivery log for a job (all attempts, newest first).

Response

FieldTypeDescription
job_idstringEchoes the job ID from the URL.
deliveriesWebhookDelivery[]All delivery attempts for the job, newest first.
WebhookDelivery
idstring | nullDelivery attempt ID.
eventstring | nullEvent type delivered, e.g. 'job.completed'.
attemptinteger | nullAttempt number for this event.
status_codeinteger | nullHTTP status returned by the endpoint, if any.
errorstring | nullDelivery error, if the attempt failed.
delivered_atstring | nullISO 8601 time of the attempt.
POST /api/v1/jobs/{job_id}/webhooks/retry API key

Retry Webhook

Re-trigger webhook delivery for the most recent event on a job.

Response

FieldTypeDescription
statusstringAlways 'queued' — the event was re-queued for delivery.
eventstringThe event type that was re-queued.

Account & Reference

GET /api/v1/account API key

Account

Return credit balance and current plan for the authenticated account.

Response

FieldTypeDescription
account_idstringThe account's ID.
credit_balancenumberPrepaid credit balance, in USD.
plan_idstringCurrent plan ID, e.g. 'free', 'creator'.
plan_namestringHuman-readable plan name.
included_minutesintegerLocalization minutes included in the plan per period.
minutes_usednumberIncluded minutes used this period.
minutes_remainingnumberIncluded minutes remaining this period.
overage_ratenumberPer-minute overage rate once included minutes are exhausted, in USD.
billing_intervalstring | null'monthly' or 'annual'; null on the free plan.
subscription_statusstringSubscription status, e.g. 'active', 'past_due', 'free'.
GET /api/v1/voices API key

List Voices

Return available voices for a given language code. Query params: language — BCP-47 code, e.g. 'en-US', 'es-ES' (required) gender — optional filter: MALE | FEMALE

GET /api/v1/languages API key

List Languages

Return supported languages. Query params: detail — if true, include provider metadata per language

POST /api/v1/projects/{project_id}/reviewers API key

Invite Reviewer

Invite a reviewer to a project (API endpoint).

Request body

FieldTypeRequiredDescription
namestringYesReviewer's display name, used in the invite email.
emailstringYesWhere the magic-link invite is sent.
languagestringYesTarget language code the reviewer will edit.

Response

FieldTypeDescription
idstringNew reviewer ID.
namestringEchoed from the request.
emailstringEchoed from the request.
tokenstringMagic-link token, embedded in the emailed URL. Expires 7 days from creation.
expires_atstring | nullCurrently always null — not populated by this call.

API Regane Layanan

Layanan individu ditagih saben menit lan ora kalebu ing rencana — sampeyan mung mbayar kanggo apa sing sampeyan hubungi, kanthi tarif tetep siji tanpa diskon tahunan. Mung lokalisasi video lengkap sing nggunakake menit sing kalebu ing rencana kasebut. Layanan berbasis teks ngukur kira-kira 1.000 karakter saben menit.

Layanan Apa sing kokkirim → apa sing koktampa Rating
Pamisahan Swara Audio → swara resik + trek latar mburi $0.02/menit
Transkripsi (STT) Audio → transkrip teks nganggo tandha wacan lan wektu tingkat tembung $0.02/menit
Transkripsi Pro Audio → Pamisahan Swara + Transkripsi (STT), paling apik kanggo audio sing rame $0.05/menit
Terjemahan Teks → teks sing diterjemahake $0.02/menit
Nyritakake (TTS) Teks → audio sing dicritakake nganggo swara sing wis disetel $0.03/menit
Nyritakake (TTS) Teks sing diterjemahake → audio sing dicritakake nganggo swara sing wis disetel sing sampeyan pilih $0.03/menit
Terjemahkan + Narasi — swara sing wis disetel Teks → diterjemahake, banjur dicritakake nganggo swara sing wis disetel $0.06/menit
Terjemahkan + Ceritakan — swara sing cocog Teks + conto swara ≥1 menit → diterjemahake, banjur dicritakake nganggo swara sing cocog. Basa sumber lan basa target kudu beda. $0.08/menit
Terjemahkan + Narasi — swara sing wis disetel Teks → diterjemahake, banjur dicritakake nganggo swara sing wis disetel. Basa sumber lan basa target kudu beda. $0.06/menit
Terjemahkan + Ceritakan — swara sing cocog Teks + conto swara ≥1 menit → diterjemahake, banjur dicritakake nganggo swara sing cocog. Basa sumber lan basa target kudu beda. $0.08/menit

Lokalisasi video lengkap kuwi siji-sijine layanan API sing ana gandhengane karo paket: layanan iki nggunakake menit sing kalebu ing paket sampeyan, banjur ditambah biaya miturut tarif paket. Deleng rencana lan rega